package com.itheima.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @author by itheima
 * @Date 2022/4/25
 * @Description 定义控制器类
 */
@Controller//springmvc的bean资源的定义必要使用@Controller注解或其衍生注解
@RequestMapping("/user2")//注解写在类上，作用：窄化路径的书写
public class UserController2 {
    //定制http请求路径与处理器方法的映射关系：http://localhost:8080/user/save自动找当前方法：saveUser()
//    @RequestMapping("/user/save")
    @RequestMapping(value = "/save",method = RequestMethod.POST)
    //如果使用get请求该接口，那么报错：The specified HTTP method is not allowed for the requested resource
    @ResponseBody//向前端返回的是string格式的数据
    public String saveUser(){
        System.out.println("saveUser run....");
        return "save:user";
    }

    @RequestMapping(value = "/update",method = RequestMethod.PUT)
    @ResponseBody//向前端返回的是string格式的数据
    public String updateUser(){
        System.out.println("updateUser run....");
        return "update:user";
    }

//    @RequestMapping("/user/find")
    /*
        value|path:指定方法映射的请求路径
        method：指定当前方法只能被指定的http请求方法调用，比如：指定get请求后，那么
        post请求就不能调动；
        如果不指定具体请求方式，那么所有的http请求方法都可调动；
     */
    @RequestMapping(value = "/find",method = RequestMethod.GET)
//    @RequestMapping(path = "/find",method = RequestMethod.GET)
    @ResponseBody//向前端返回的是string格式的数据
    public String findUser(){
        System.out.println("saveUser run....");
        return "find:user";
    }

    @RequestMapping(value = "/find",method = RequestMethod.DELETE)
//    @RequestMapping(path = "/find",method = RequestMethod.GET)
    @ResponseBody//向前端返回的是string格式的数据
    public String deleteUser(){
        System.out.println("deleteUser run....");
        return "delete:user";
    }
}
